extends CharacterBody2D
class_name TargetDummy

## 测试靶子属性
@export var max_health: int = 200
@export var attack_damage: int = 0  # 无法攻击
@export var move_speed: float = 0.0  # 无法移动
@export var detection_range: float = 0.0  # 无法检测
@export var attack_cooldown: float = 0.0
@export var attack_range: float = 0.0

## 私有变量
var current_health: int
var player: Node2D = null
var start_position: Vector2

func _ready():
	# 初始化血量
	current_health = max_health
	
	start_position = global_position
	
	# 查找玩家（虽然不会使用）
	player = get_tree().get_first_node_in_group("player")
	
	print("测试靶子生成 - 血量: ", current_health, " 位置: ", global_position)

func _physics_process(_delta):
	# 测试靶子不移动，不攻击
	# 保持静止状态
	pass

func take_damage(damage: int):
	current_health -= damage
	current_health = max(0, current_health)
	print("测试靶子受到伤害: ", damage, " 当前血量: ", current_health)
	
	# 如果血量耗尽，死亡
	if current_health <= 0:
		die()

func die():
	print("测试靶子被摧毁！")
	# 播放死亡动画或效果
	queue_free()  # 从场景中移除测试靶子

## 获取敌人当前速度（用于预判，但测试靶子速度为0）
func get_enemy_velocity() -> Vector2:
	return Vector2.ZERO  # 测试靶子不移动

## 测试靶子特殊方法
func get_health_percentage() -> float:
	return float(current_health) / float(max_health)

func get_remaining_health() -> int:
	return current_health
